Television systems have become increasingly complex as consumers continue to demand greater functionality and performance from television sets. Furthermore, the geographic diversity and business interests of manufacturers and service providers within the television and recording industries has lead to a plethora of analog and digital video formats. For example, analog video signal formats include National TV System Committee (NTSC), Phase Alternation Line Rate (PAL), and Sequential Couleur Avec Memoire (SECAM) television signals. Example digital video signal formats include ITU-R-656 and Digital Video Interface (DVI).
When program channels are transmitted to customer premise devices, such as a television or cable set top box, data packets for program channels are typically multiplexed together into a video data stream. So, for example, program channels, such as CNN, HBO, and ESPN can be combined into a single data stream. When the video data stream is received by a customer premise device, the customer premise device often parses the incoming stream to retain only those packets that pertain to the channel of interest to be viewed or recorded. The parsing process can create gaps in the data stream where packets associated with channels other than the channel of interest were located. The parsing of the stream potentially leaves time gaps where packets were removed. A number of approaches can be used to address the existence of gaps. A buffer can be used to compress the remaining packets and remove the gaps or null data packets can be inserted into the gaps. Additionally, packets containing system or other information can be substituted into the gaps.
As the complexity of data processing systems increases, the need for a robust and flexible approach to substitute packets into a data stream, such as a video data stream, increases without impairing performance. In particular, system and management information associated with a data stream is likely to change as a result of adjustment in encryption or organization of packets within a data stream, for example. Moreover, different types of information may need to be inserted into a data stream, and the different types of information may have different timing requirements. Different types of information can include, for example, system information for video control, system information for audio control, overall system management information, or customer specific application information.
What is needed is a method for efficiently substituting data packets into a data stream.